A Session Object Calculus for Structured Communication-Based Programming
نویسندگان
چکیده
We present an object calculus for structured concurrent programming, facilitating the implementation of typed binary protocols, known as sessions. Session types are based on a concept of duality of interactions, providing a powerful type-theoretic foundation for guaranteeing well-behaved parallel composition of communicating code. Our formalism extends the Abadi and Cardelli imperative object calculus with concurrency and typed queue-based primitives for asynchronous communication, each session consisting two queue end-points. It incorporates an iso-recursive formulation for recursive sessions for objects, naturally integrating session-based choices with method invocations. Linear objects enable mobile code to contain active sessions, while mobility of queue end-points realises higher-order session communication. The typing system of our session object calculus ensures type soundness, communication safety and the minimum typing property with respect to a new session subtyping relation for asynchrony in the presence of spawning, cloning and updating objects.
منابع مشابه
Reversible session-based pi-calculus
In this work, we incorporate reversibility into structured communication-based programming, to allow parties of a session to automatically undo, ina rollback fashion, the effect of previously executed interactions. This per-mits to take different computation paths along the same session, as wellas to revert the whole session and starting a new one. Our aim is to de-fine a th...
متن کاملSession types in concurrent calculi : higher-order processes and objects
This dissertation investigates different formalisms, in the form of programming language calculi, that are aimed at providing a theoretical foundation for structured concurrent programming based on session types. The structure of a session type is essentially a process-algebraic style description of the behaviour of a single program identifier serving as a communication medium (and usually refe...
متن کاملSession and Union Types for Object Oriented Programming
In network applications it is crucial to have a mechanism to guarantee that communications evolve correctly according to the agreed protocol. Session types offer a method for abstracting and validating structured communication sequences (sessions). In this paper we propose union types for refining and enhancing the flexibility of session types in the context of communication centred and object ...
متن کاملStructured Global Programming for Communication Behaviour
This paper presents two different paradigms of description of communication behaviour, one focussing on global message flows and another on endpoint behaviours, as formal calculi based on session types. The global calculus originates from Choreography Description Language, a web service description language developed by W3C WS-CDL working group. The end-point calculus is a typed π-calculus. The...
متن کاملAsynchronous Functional Session Types
Session types support a type-theoretic formulation of structured patterns of communication, so that the communication behaviour of agents in a distributed system can be verified by static type checking. Applications include network protocols, business processes, and operating system services. In this paper we define a multithreaded functional language with session types, which unifies, simplifi...
متن کامل